
import { ElNotification } from 'element-plus'
import dayjs from 'dayjs'
/* 
 * 转换 - 数组参数转换
 */
export function transformArrayProps(arr, transformations) {
    return arr.map(obj => {
        const transformedObj = Object.assign({}, obj);
        for (const [oldProp, newProp] of transformations) {
            if (transformedObj.hasOwnProperty(oldProp)) {
                transformedObj[newProp] = transformedObj[oldProp];
                delete transformedObj[oldProp];
            }
        }
        return transformedObj;
    });
}
/* 
 * 正则 - 验证手机号
 */
export function validateMobile(mobile) {
    const reg = /^1[3-9]\d{9}$/;
    // console.log('mobile :>> ', mobile);
    if (!reg.test(mobile)) {
        ElNotification({
            title: '提示',
            message: '请输入正确的手机号',
            type: 'warning',
        })
        return false
    }
    return true
}
/* 
 * 保留两位小数
 */
export function formatNumber(value) {
    if (value) {
        return parseFloat(value).toFixed(2);
    }
    else {
        return 0
    }
}
/* 
 * 姓名校验
 */
export function validateName(name) {
    // 长度限制：最大长度为12个字符
    if (name.length > 12) {
        // showToast('姓名长度不能超过12个字符')
        return false;
    }

    //   // 字符限制：只允许字母和数字
    //   if (!/^[\u4e00-\u9fa5a-zA-Z0-9]+$/.test(name)) {
    //     showToast('姓名只能包含汉字、字母和数字')
    //     return false;
    //   }

    // 空格限制：不允许包含空格
    if (/\s/.test(name)) {
        // showToast('姓名不能包含空格')
        return false;
    }
    return true
}
/* 
 * 时间格式化
 */
export function valiTime(val) {
    if(val){
        return dayjs(val).format('YYYY-MM-DD HH:mm:ss')
    }
}
export function valiTimeSpe(val) {
    if(val){
        return dayjs(val).format('YYYY-MM-DD HH:mm')
    }
}
// 分页
export function filterAndPaginateItems(items,pageIndex, pageSize) {
    // 计算分页起始和结束索引
    const startIndex = (pageIndex - 1) * pageSize;
    const endIndex = startIndex + pageSize;

    // 获取分页后的数据
    const paginatedItems = items.slice(startIndex, endIndex);

    return paginatedItems;
}
